/**
   Copyright 2008 Kirill Ignatiev

    This file is part of kerr-wavefronts.

    kerr-wavefronts is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    kerr-wavefronts is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with kerr-wavefronts.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef _SOLVEGEODS_H
#define _SOLVEGEODS_H

double schw_x_of_r(double r); // the r-star ("x") coordinate
double schw_r_of_x(double x); // the r coordinate

int schw_f(double t, const double* y, double* dydt, void* l);

struct kerr_param {
  double a, Q, l;
  double rminus,rplus;
  kerr_param(double _a=0.0, double _Q=0.0) : a(_a), Q(_Q) { }
};
double kerr_x_of_r(const kerr_param& param, double r);
double kerr_r_of_x(const kerr_param& param, double x);
int kerr_f(double t, const double* y, double* dydt, void* params);

#endif // _SOLVEGEODS_H
